<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SPHinXsys: SPHINXsys/src/for_2D_build/geometries/geometry.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SPHinXsys
   &#160;<span id="projectnumber">alpha version</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_3dc1dabd28ba78e072d14d3fcfc90454.html">SPHINXsys</a></li><li class="navelem"><a class="el" href="dir_48ea983704c43b6d88c1fa3f4d09e369.html">src</a></li><li class="navelem"><a class="el" href="dir_9ca3159e53ba4d8edf6cf759982bc449.html">for_2D_build</a></li><li class="navelem"><a class="el" href="dir_36ebca7d0f8fa30fe00c82b25479f485.html">geometries</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a>  </div>
  <div class="headertitle">
<div class="title">geometry.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Here, we define the 2D geometric algortihms. they are based on the boost library.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;boost/geometry.hpp&gt;</code><br />
<code>#include &lt;boost/geometry/geometries/point_xy.hpp&gt;</code><br />
<code>#include &lt;boost/geometry/geometries/polygon.hpp&gt;</code><br />
<code>#include &lt;boost/geometry/geometries/adapted/boost_tuple.hpp&gt;</code><br />
<code>#include &lt;boost/geometry/strategies/transform.hpp&gt;</code><br />
<code>#include &lt;boost/geometry/strategies/transform/matrix_transformers.hpp&gt;</code><br />
<code>#include &quot;base_data_package.h&quot;</code><br />
<code>#include &quot;<a class="el" href="base__geometry_8h_source.html">base_geometry.h</a>&quot;</code><br />
<code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;string&gt;</code><br />
<code>#include &lt;fstream&gt;</code><br />
</div>
<p><a href="for__2_d__build_2geometries_2geometry_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_multi_polygon.html">SPH::MultiPolygon</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">used to define a closed region  <a href="class_s_p_h_1_1_multi_polygon.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_complex_shape.html">SPH::ComplexShape</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">gives the final geomtrical definition of the <a class="el" href="class_s_p_h_1_1_s_p_h_body.html" title="SPHBody is a base body with basic data and functions. Its derived class can be a real fluid body,...">SPHBody</a>  <a href="class_s_p_h_1_1_complex_shape.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespace_s_p_h"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_s_p_h.html">SPH</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a43f272fc0b10ee41812268c9cd3fd065"><td class="memItemLeft" align="right" valign="top"><a id="a43f272fc0b10ee41812268c9cd3fd065"></a>
typedef model::polygon&lt; model::d2::point_xy&lt; <a class="el" href="class_real.html">Real</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>SPH::boost_poly</b></td></tr>
<tr class="separator:a43f272fc0b10ee41812268c9cd3fd065"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf0ca149f4255e5bf0c58a91409fc81a"><td class="memItemLeft" align="right" valign="top"><a id="adf0ca149f4255e5bf0c58a91409fc81a"></a>
typedef model::multi_polygon&lt; boost_poly &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>SPH::boost_multi_poly</b></td></tr>
<tr class="separator:adf0ca149f4255e5bf0c58a91409fc81a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Here, we define the 2D geometric algortihms. they are based on the boost library. </p>
<p>The idea is to define complex geometry based on shapes, usually multi-polygon using boost library. we propose only very simple combinaton that the region is composed of shapes without intersection. That is, the shapes are those contain each other or without overlap. This strict requirement suggests that complex shapes should be finished already in modeling using related binary operations before it is included. </p><dl class="section author"><dt>Author</dt><dd>Luhui Han, Chi ZHang and Xiangyu Hu </dd></dl>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
